#include "stm32f10x.h"                  // Device header
#include "Delay.h"

void Key_Init(void)
{
	//开启GPIO总共有3步，第一步：使用RCC开启GPIO的时钟
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);		//按键在B口
	
	//第二步：使用GPIO_Inti函数初始化GPIO
	GPIO_InitTypeDef GPIO_InitStruct;									
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU;						
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_11;						
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;						
	GPIO_Init(GPIOB,&GPIO_InitStruct);									
	
}

uint8_t Key_Num(void)
{
//	uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);   //GPIO_ReadInputDataBit是读 输入 寄存器的一位
//	uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx);						 //GPIO_ReadInputData是读 输入 寄存器全部位
//	uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);	 //GPIO_ReadOutputDataBit是 读 输出 寄存器一位
//	uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx);						 //GPIO_ReadOutputData是 读 输出 寄存器全部位
	
	uint8_t KeyNum = 0;
	if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1) == 0)
	{
		Delay_ms(20);											//延时消抖
		while (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_1) == 0);	//等待按键松手
		Delay_ms(20);											//延时消抖
		KeyNum = 1;	
	}
	if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_11) == 0)
	{
		Delay_ms(20);											//延时消抖
		while (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_11) == 0);	//等待按键松手
		Delay_ms(20);	
		KeyNum = 2;
	}
	return KeyNum;
}
